package com.ruoyi.system.service.user;

import java.util.List;
import java.util.Map;

import com.ruoyi.common.core.domain.model.VsUser;

/**
 * 会员Service接口
 * 
 * @author zzx
 * @date 2024-04-30
 */
public interface IVsUserService 
{
    /**
     * 查询会员
     * 
     * @param id 会员主键
     * @return 会员
     */
    public VsUser selectVsUserById(Long id);

    /**
     * 查询会员
     *
     * @param vsUser 会员信息
     * @return 会员
     */
    public VsUser selectVsUserByInfo(VsUser vsUser);

    /**
     * 查询会员列表
     * 
     * @param vsUser 会员
     * @return 会员集合
     */
    public List<VsUser> selectVsUserList(VsUser vsUser);

    /**
     * 新增会员
     * 
     * @param vsUser 会员
     * @return 结果
     */
    public int insertVsUser(VsUser vsUser);

    /**
     * 修改会员
     * 
     * @param vsUser 会员
     * @return 结果
     */
    public int updateVsUser(VsUser vsUser);

    /**
     * 批量删除会员
     * 
     * @param ids 需要删除的会员主键集合
     * @return 结果
     */
    public int deleteVsUserByIds(Long[] ids);

    /**
     * 删除会员信息
     * 
     * @param id 会员主键
     * @return 结果
     */
    public int deleteVsUserById(Long id);

    public Map login(VsUser vsUser);

    public Map smsLogin(VsUser vsUser);

    /**
     * 新增会员信息
     *
     * @param vsUser 会员信息
     * @return 会员
     */
    public VsUser registerUser(VsUser vsUser, String langId);

    public VsUser selectVsUserInfo(VsUser vsUser);

    public void checkCode(String keyword, String code);

    public String sendEmail(String email, String langId);

    public String sendPhone(String areaCode, String phone, String langId);

    public String editPwd(VsUser vsUser);

    public Boolean forgotPassword(VsUser vsUser);

    public List<VsUser> selectParentList(VsUser vsUser);

    public Boolean updateUserAvatar(Long id, String avatar);

    public int updateVsUserUsable(VsUser vsUser);

    public int updateVsUserMoney(VsUser vsUser);

}
